package com.vhall.component.entity.sign.vo;

import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 用户签到请求VO
 *
 * @author shenghua.luo
 */
@Data
public class SignInReqVO implements Serializable {

    @ParamName("app_id")
    @NotBlank(message = "应用appId不能为空")
    @Length(max = 32)
    private String appId;

    /**
     * 签到ID
     */
    @ParamName("sign_id")
    @NotNull(message = "参数异常")
    @Range(min = 1, max = 100000000)
    private Long signId;

    /**
     * 签到者ID
     */
    @ParamName("signer_id")
    @NotBlank(message = "签到者ID不能为空")
    @Length(max = 255)
    private String signerId;

    /**
     * 创建者ID
     */
    @ParamName("creator_id")
    @Length(max = 255)
    private String creatorId;

    /**
     * 来源ID
     */
    @ParamName("room_id")
    @Length(max = 255)
    private String roomId;

    /**
     * 签到者昵称
     */
    @ParamName("signer_nickname")
    @Length(max = 255)
    private String signerNickname;

    /**
     * 签到者头像
     */
    @ParamName("signer_avatar")
    @Length(max = 255)
    private String signerAvatar;
}
